package jmvm.schemes;


import java.awt.Point;
import java.util.ArrayList;

import jmvm.components.*;
import jmvm.gui.GuiLine;
import jmvm.gui.GuiScheme;


public class Fetch2 {
		
			public static DC DC1;
			public static DC DC2;
			public static DC DC3;
			public static DC DC4;
			public static DC DC5;
			public static DC DC6;
			public static DC DC7;
			public static DC DC8;
			public static DC DC9;
			public static DC DC10;
			public static DC DC11;

			////////////
			//////////// Grafika
			////////////
			
			public static GuiScheme gui;

			public static GuiScheme getGui() {
				return gui;
			}
			
			public static void gui() {

				GuiLine line; // Pomocna promenljiva
				gui = new GuiScheme("jmvm/jmvm/images/fetch2(2).png");
				
				ArrayList<ArrayList<Point>> sections;
				ArrayList<Point> points;
				
				// 
				// 
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(38,64));
				points.add(new Point(46,64));
				sections.add(points);
				line=new GuiLine(sections,Fetch1.IR31());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(38,80));
				points.add(new Point(46,80));
				sections.add(points);
				line=new GuiLine(sections,Fetch1.IR30());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(117,48));
				points.add(new Point(125,48));
				sections.add(points);
				line=new GuiLine(sections,DC1.getOut(3));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(117,64));
				points.add(new Point(125,64));
				sections.add(points);
				line=new GuiLine(sections,DC1.getOut(2));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(117,80));
				points.add(new Point(125,80));
				sections.add(points);
				line=new GuiLine(sections,DC1.getOut(1));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(117,96));
				points.add(new Point(126,96));
				sections.add(points);
				line=new GuiLine(sections,DC1.getOut(0));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(82,120));
				points.add(new Point(82,113));
				sections.add(points);
				line=new GuiLine(sections,Exec2.START());
				gui.addLine(line);

				//
				//
				////////////////////////////////////////////////
				// 
				// 
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(266,56));
				points.add(new Point(276,56));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR29());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267,72));
				points.add(new Point(275,72));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR28());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267,88));
				points.add(new Point(275,88));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR27());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(310,151));
				points.add(new Point(310,144));
				sections.add(points);
				line=new GuiLine(sections,DC1.getOut(0));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,16));
				points.add(new Point(353,16));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(7));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,32));
				points.add(new Point(353,32));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(6));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,48));
				points.add(new Point(353,48));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(5));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,64));
				points.add(new Point(353,64));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(4));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,80));
				points.add(new Point(353,80));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(3));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,96));
				points.add(new Point(353,96));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(2));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,111));
				points.add(new Point(353,111));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(1));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,127));
				points.add(new Point(354,127));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(0));
				gui.addLine(line);

				//
				//
				////////////////////////////////////////////////
				// 
				// 
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(266+228,56));
				points.add(new Point(276+228,56));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR26());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267+228,72));
				points.add(new Point(275+228,72));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR25());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267+228,88));
				points.add(new Point(275+228,88));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR24());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(310+228,151));
				points.add(new Point(310+228,144));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(0));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,16));
				points.add(new Point(353+228,16));
				sections.add(points);
				line=new GuiLine(sections,DC3.getOut(7));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,32));
				points.add(new Point(353+228,32));
				sections.add(points);
				line=new GuiLine(sections,DC3.getOut(6));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,48));
				points.add(new Point(353+228,48));
				sections.add(points);
				line=new GuiLine(sections,DC3.getOut(5));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,64));
				points.add(new Point(353+228,64));
				sections.add(points);
				line=new GuiLine(sections,DC3.getOut(4));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,80));
				points.add(new Point(353+228,80));
				sections.add(points);
				line=new GuiLine(sections,DC3.getOut(3));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,96));
				points.add(new Point(353+228,96));
				sections.add(points);
				line=new GuiLine(sections,DC3.getOut(2));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,111));
				points.add(new Point(353+228,111));
				sections.add(points);
				line=new GuiLine(sections,DC3.getOut(1));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,127));
				points.add(new Point(354+228,127));
				sections.add(points);
				line=new GuiLine(sections,DC3.getOut(0));
				gui.addLine(line);

				//
				//
				////////////////////////////////////////////////
				// 
				// 
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(266,452));
				points.add(new Point(276,452));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR26());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267,468));
				points.add(new Point(275,468));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR25());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267,484));
				points.add(new Point(275,484));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR24());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(310,547));
				points.add(new Point(310,540));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(5));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,412));
				points.add(new Point(353,412));
				sections.add(points);
				line=new GuiLine(sections,DC8.getOut(7));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,428));
				points.add(new Point(353,428));
				sections.add(points);
				line=new GuiLine(sections,DC8.getOut(6));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,444));
				points.add(new Point(353,444));
				sections.add(points);
				line=new GuiLine(sections,DC8.getOut(5));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,460));
				points.add(new Point(353,460));
				sections.add(points);
				line=new GuiLine(sections,DC8.getOut(4));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,476));
				points.add(new Point(353,476));
				sections.add(points);
				line=new GuiLine(sections,DC8.getOut(3));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,492));
				points.add(new Point(353,492));
				sections.add(points);
				line=new GuiLine(sections,DC8.getOut(2));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,507));
				points.add(new Point(353,507));
				sections.add(points);
				line=new GuiLine(sections,DC8.getOut(1));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,523));
				points.add(new Point(354,523));
				sections.add(points);
				line=new GuiLine(sections,DC8.getOut(0));
				gui.addLine(line);

				//
				//
				////////////////////////////////////////////////
				// 
				// 
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(266,452-198));
				points.add(new Point(276,452-198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR26());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267,468-198));
				points.add(new Point(275,468-198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR25());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267,484-198));
				points.add(new Point(275,484-198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR24());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(310,547-198));
				points.add(new Point(310,540-198));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(2));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,412-198));
				points.add(new Point(353,412-198));
				sections.add(points);
				line=new GuiLine(sections,DC5.getOut(7));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,428-198));
				points.add(new Point(353,428-198));
				sections.add(points);
				line=new GuiLine(sections,DC5.getOut(6));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,444-198));
				points.add(new Point(353,444-198));
				sections.add(points);
				line=new GuiLine(sections,DC5.getOut(5));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,460-198));
				points.add(new Point(353,460-198));
				sections.add(points);
				line=new GuiLine(sections,DC5.getOut(4));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,476-198));
				points.add(new Point(353,476-198));
				sections.add(points);
				line=new GuiLine(sections,DC5.getOut(3));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,492-198));
				points.add(new Point(353,492-198));
				sections.add(points);
				line=new GuiLine(sections,DC5.getOut(2));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,507-198));
				points.add(new Point(353,507-198));
				sections.add(points);
				line=new GuiLine(sections,DC5.getOut(1));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,523-198));
				points.add(new Point(354,523-198));
				sections.add(points);
				line=new GuiLine(sections,DC5.getOut(0));
				gui.addLine(line);
				//
				////////////////////////////////////////////////
				// 
				// 
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(266-228,452));
				points.add(new Point(276-228,452));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR26());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267-228,468));
				points.add(new Point(275-228,468));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR25());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267-228,484));
				points.add(new Point(275-228,484));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR24());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(310-228,547));
				points.add(new Point(310-228,540));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(4));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,412));
				points.add(new Point(353-228,412));
				sections.add(points);
				line=new GuiLine(sections,DC7.getOut(7));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,428));
				points.add(new Point(353-228,428));
				sections.add(points);
				line=new GuiLine(sections,DC7.getOut(6));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,444));
				points.add(new Point(353-228,444));
				sections.add(points);
				line=new GuiLine(sections,DC7.getOut(5));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,460));
				points.add(new Point(353-228,460));
				sections.add(points);
				line=new GuiLine(sections,DC7.getOut(4));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,476));
				points.add(new Point(353-228,476));
				sections.add(points);
				line=new GuiLine(sections,DC7.getOut(3));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,492));
				points.add(new Point(353-228,492));
				sections.add(points);
				line=new GuiLine(sections,DC7.getOut(2));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,507));
				points.add(new Point(353-228,507));
				sections.add(points);
				line=new GuiLine(sections,DC7.getOut(1));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,523));
				points.add(new Point(354-228,523));
				sections.add(points);
				line=new GuiLine(sections,DC7.getOut(0));
				gui.addLine(line);

				//
				//
				////////////////////////////////////////////////
				// 
				// 
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(266,452+198));
				points.add(new Point(276,452+198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR23());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267,468+198));
				points.add(new Point(275,468+198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR22());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267,484+198));
				points.add(new Point(275,484+198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR21());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(310,547+198));
				points.add(new Point(310,540+198));
				sections.add(points);
				line=new GuiLine(sections,new Pin(true));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,412+198));
				points.add(new Point(353,412+198));
				sections.add(points);
				line=new GuiLine(sections,DC11.getOut(7));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,428+198));
				points.add(new Point(353,428+198));
				sections.add(points);
				line=new GuiLine(sections,DC11.getOut(6));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,444+198));
				points.add(new Point(353,444+198));
				sections.add(points);
				line=new GuiLine(sections,DC11.getOut(5));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,460+198));
				points.add(new Point(353,460+198));
				sections.add(points);
				line=new GuiLine(sections,DC11.getOut(4));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,476+198));
				points.add(new Point(353,476+198));
				sections.add(points);
				line=new GuiLine(sections,DC11.getOut(3));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,492+198));
				points.add(new Point(353,492+198));
				sections.add(points);
				line=new GuiLine(sections,DC11.getOut(2));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,507+198));
				points.add(new Point(353,507+198));
				sections.add(points);
				line=new GuiLine(sections,DC11.getOut(1));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346,523+198));
				points.add(new Point(354,523+198));
				sections.add(points);
				line=new GuiLine(sections,DC11.getOut(0));
				gui.addLine(line);

				//
				//
				////////////////////////////////////////////////
				// 
				// 
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(266+228,452));
				points.add(new Point(276+228,452));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR26());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267+228,468));
				points.add(new Point(275+228,468));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR25());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267+228,484));
				points.add(new Point(275+228,484));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR24());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(310+228,547));
				points.add(new Point(310+228,540));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(6));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,412));
				points.add(new Point(353+228,412));
				sections.add(points);
				line=new GuiLine(sections,DC9.getOut(7));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,428));
				points.add(new Point(353+228,428));
				sections.add(points);
				line=new GuiLine(sections,DC9.getOut(6));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,444));
				points.add(new Point(353+228,444));
				sections.add(points);
				line=new GuiLine(sections,DC9.getOut(5));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,460));
				points.add(new Point(353+228,460));
				sections.add(points);
				line=new GuiLine(sections,DC9.getOut(4));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,476));
				points.add(new Point(353+228,476));
				sections.add(points);
				line=new GuiLine(sections,DC9.getOut(3));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,492));
				points.add(new Point(353+228,492));
				sections.add(points);
				line=new GuiLine(sections,DC9.getOut(2));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,507));
				points.add(new Point(353+228,507));
				sections.add(points);
				line=new GuiLine(sections,DC9.getOut(1));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,523));
				points.add(new Point(354+228,523));
				sections.add(points);
				line=new GuiLine(sections,DC9.getOut(0));
				gui.addLine(line);

				//
				//

				////////////////////////////////////////////////
				// 
				// 
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(266-228,452+198));
				points.add(new Point(276-228,452+198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR26());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267-228,468+198));
				points.add(new Point(275-228,468+198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR25());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267-228,484+198));
				points.add(new Point(275-228,484+198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR24());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(310-228,547+198));
				points.add(new Point(310-228,540+198));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(7));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,412+198));
				points.add(new Point(353-228,412+198));
				sections.add(points);
				line=new GuiLine(sections,DC10.getOut(7));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,428+198));
				points.add(new Point(353-228,428+198));
				sections.add(points);
				line=new GuiLine(sections,DC10.getOut(6));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,444+198));
				points.add(new Point(353-228,444+198));
				sections.add(points);
				line=new GuiLine(sections,DC10.getOut(5));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,460+198));
				points.add(new Point(353-228,460+198));
				sections.add(points);
				line=new GuiLine(sections,DC10.getOut(4));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,476+198));
				points.add(new Point(353-228,476+198));
				sections.add(points);
				line=new GuiLine(sections,DC10.getOut(3));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,492+198));
				points.add(new Point(353-228,492+198));
				sections.add(points);
				line=new GuiLine(sections,DC10.getOut(2));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,507+198));
				points.add(new Point(353-228,507+198));
				sections.add(points);
				line=new GuiLine(sections,DC10.getOut(1));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,523+198));
				points.add(new Point(354-228,523+198));
				sections.add(points);
				line=new GuiLine(sections,DC10.getOut(0));
				gui.addLine(line);
				////////////////////////////////////////////////
				// 
				// 
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(266-228,452-198));
				points.add(new Point(276-228,452-198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR26());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267-228,468-198));
				points.add(new Point(275-228,468-198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR25());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267-228,484-198));
				points.add(new Point(275-228,484-198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR24());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(310-228,547-198));
				points.add(new Point(310-228,540-198));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(1));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,412-198));
				points.add(new Point(353-228,412-198));
				sections.add(points);
				line=new GuiLine(sections,DC4.getOut(7));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,428-198));
				points.add(new Point(353-228,428-198));
				sections.add(points);
				line=new GuiLine(sections,DC4.getOut(6));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,444-198));
				points.add(new Point(353-228,444-198));
				sections.add(points);
				line=new GuiLine(sections,DC4.getOut(5));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,460-198));
				points.add(new Point(353-228,460-198));
				sections.add(points);
				line=new GuiLine(sections,DC4.getOut(4));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,476-198));
				points.add(new Point(353-228,476-198));
				sections.add(points);
				line=new GuiLine(sections,DC4.getOut(3));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,492-198));
				points.add(new Point(353-228,492-198));
				sections.add(points);
				line=new GuiLine(sections,DC4.getOut(2));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,507-198));
				points.add(new Point(353-228,507-198));
				sections.add(points);
				line=new GuiLine(sections,DC4.getOut(1));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346-228,523-198));
				points.add(new Point(354-228,523-198));
				sections.add(points);
				line=new GuiLine(sections,DC4.getOut(0));
				gui.addLine(line);
				////////////////////////////////////////////////
				// 
				// 
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(266+228,452-198));
				points.add(new Point(276+228,452-198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR26());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267+228,468-198));
				points.add(new Point(275+228,468-198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR25());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(267+228,484-198));
				points.add(new Point(275+228,484-198));
				sections.add(points);
				line=new GuiLine(sections, Fetch1.IR24());
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(310+228,547-198));
				points.add(new Point(310+228,540-198));
				sections.add(points);
				line=new GuiLine(sections,DC2.getOut(3));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,412-198));
				points.add(new Point(353+228,412-198));
				sections.add(points);
				line=new GuiLine(sections,DC6.getOut(7));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,428-198));
				points.add(new Point(353+228,428-198));
				sections.add(points);
				line=new GuiLine(sections,DC6.getOut(6));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,444-198));
				points.add(new Point(353+228,444-198));
				sections.add(points);
				line=new GuiLine(sections,DC6.getOut(5));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,460-198));
				points.add(new Point(353+228,460-198));
				sections.add(points);
				line=new GuiLine(sections,DC6.getOut(4));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,476-198));
				points.add(new Point(353+228,476-198));
				sections.add(points);
				line=new GuiLine(sections,DC6.getOut(3));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,492-198));
				points.add(new Point(353+228,492-198));
				sections.add(points);
				line=new GuiLine(sections,DC6.getOut(2));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,507-198));
				points.add(new Point(353+228,507-198));
				sections.add(points);
				line=new GuiLine(sections,DC6.getOut(1));
				gui.addLine(line);

				//
				//
				sections=new ArrayList<ArrayList<Point>>();
				points=new ArrayList<Point>();
				points.add(new Point(346+228,523-198));
				points.add(new Point(354+228,523-198));
				sections.add(points);
				line=new GuiLine(sections,DC6.getOut(0));
				gui.addLine(line);

			}
			/////////////
			/////////////
			/////////////
	
			public static void init() {

				DC1 = new DC(2);
				DC2 = new DC(3);
				DC3 = new DC(3);
				DC4 = new DC(3);
				DC5 = new DC(3);
				DC6 = new DC(3);
				DC7 = new DC(3);
				DC8 = new DC(3);
				DC9 = new DC(3);
				DC10 = new DC(3);
				DC11 = new DC(3);

			}
			
			public static void connect() {

				DC1.setE(Exec2.START());
				DC1.setInputPin(1, Fetch1.IR31());
				DC1.setInputPin(0, Fetch1.IR30());

				DC2.setE(DC1.getOut(0));
				DC2.setInputPin(2, Fetch1.IR29());
				DC2.setInputPin(1, Fetch1.IR28());
				DC2.setInputPin(0, Fetch1.IR27());

				DC3.setE(DC2.getOut(0));
				DC3.setInputPin(2, Fetch1.IR26());
				DC3.setInputPin(1, Fetch1.IR25());
				DC3.setInputPin(0, Fetch1.IR24());

				DC4.setE(DC2.getOut(1));
				DC4.setInputPin(2, Fetch1.IR26());
				DC4.setInputPin(1, Fetch1.IR25());
				DC4.setInputPin(0, Fetch1.IR24());

				DC5.setE(DC2.getOut(2));
				DC5.setInputPin(2, Fetch1.IR26());
				DC5.setInputPin(1, Fetch1.IR25());
				DC5.setInputPin(0, Fetch1.IR24());
				
				DC6.setE(DC2.getOut(3));
				DC6.setInputPin(2, Fetch1.IR26());
				DC6.setInputPin(1, Fetch1.IR25());
				DC6.setInputPin(0, Fetch1.IR24());
				
				DC7.setE(DC2.getOut(4));
				DC7.setInputPin(2, Fetch1.IR26());
				DC7.setInputPin(1, Fetch1.IR25());
				DC7.setInputPin(0, Fetch1.IR24());
				
				DC8.setE(DC2.getOut(5));
				DC8.setInputPin(2, Fetch1.IR26());
				DC8.setInputPin(1, Fetch1.IR25());
				DC8.setInputPin(0, Fetch1.IR24());
				
				DC9.setE(DC2.getOut(6));
				DC9.setInputPin(2, Fetch1.IR26());
				DC9.setInputPin(1, Fetch1.IR25());
				DC9.setInputPin(0, Fetch1.IR24());
				
				DC10.setE(DC2.getOut(7));
				DC10.setInputPin(2, Fetch1.IR26());
				DC10.setInputPin(1, Fetch1.IR25());
				DC10.setInputPin(0, Fetch1.IR24());
				
				DC11.setE(new Pin(true));
				DC11.setInputPin(2, Fetch1.IR23());
				DC11.setInputPin(1, Fetch1.IR22());
				DC11.setInputPin(0, Fetch1.IR21());


			}
			
			//
			// Za prvi OR u fetch3
			//
			public static Pin G0_PG0_2(){
				return DC3.getOut(2);
			}
			public static Pin G0_PG0_3(){
				return DC3.getOut(3);
			}
			public static Pin G0_PG1_0(){
				return DC4.getOut(0);
			}
			public static Pin G0_PG1_6(){
				return DC4.getOut(6);
			}
			public static Pin G0_PG1_7(){
				return DC4.getOut(7);
			}
			public static Pin G0_PG5_6(){
				return DC8.getOut(6);
			}
			public static Pin G0_PG5_7(){
				return DC8.getOut(7);
			}
			public static Pin G1(){
				return DC1.getOut(1);
			}
			public static Pin G2(){
				return DC1.getOut(2);
			}
			public static Pin G3(){
				return DC1.getOut(3);
			}
			
			//
			// za drugi OR
			//
			public static Pin STB(){
				return DC7.getOut(2);
			}
			public static Pin STW(){
				return DC7.getOut(3);
			}
			
			//
			// za OR_l1
			//
			public static Pin G0_PG0(){
				return DC2.getOut(0);
			}
			public static Pin RTS(){
				return DC4.getOut(3);
			}
			public static Pin RTI(){
				return DC4.getOut(5);
			}
			public static Pin POPB(){
				return DC7.getOut(4);
			}
			public static Pin POPW(){
				return DC7.getOut(5);
			}
			public static Pin PUSHB(){
				return DC7.getOut(6);
			}
			public static Pin PUSHW(){
				return DC7.getOut(7);
			}
			public static Pin GO_PG5(){
				return DC2.getOut(5);
			}
			public static Pin INC(){
				return DC9.getOut(2);
			}
			public static Pin DEC(){
				return DC9.getOut(3);
			}
			public static Pin NOT(){
				return DC9.getOut(7);
			}
			public static Pin GO_PG7(){
				return DC2.getOut(7);
			}
			
			//
			// za OR_l2_brnch
			//
			public static Pin GO_PG3(){
				return DC2.getOut(3);
			}
			public static Pin GO_PG2(){
				return DC2.getOut(2);
			}
			public static Pin INT(){
				return DC4.getOut(4);
			}
			
			//
			// za OR_l3_jump
			//
			public static Pin JSR(){
				return DC4.getOut(2);
			}
			public static Pin JMP(){
				return DC4.getOut(1);
			}
			
			//
			// za OR_l2_arlog1
			//
			public static Pin XOR(){
				return DC9.getOut(6);
			}
			public static Pin OR(){
				return DC9.getOut(5);
			}
			public static Pin AND(){
				return DC9.getOut(4);
			}
			public static Pin SUB(){
				return DC9.getOut(1);
			}
			public static Pin ADD(){
				return DC9.getOut(0);
			}
			public static Pin LDW(){
				return DC7.getOut(1);
			}
			public static Pin LDB(){
				return DC7.getOut(0);
			}
			
			////////////////////
			
			public static Pin ASR(){
				return DC10.getOut(0);
			}
			public static Pin LSR(){
				return DC10.getOut(1);
			}
			public static Pin ROR(){
				return DC10.getOut(2);
			}
			public static Pin RORC(){
				return DC10.getOut(3);
			}
			public static Pin ASL(){
				return DC10.getOut(4);
			}
			public static Pin LSL(){
				return DC10.getOut(5);
			}
			public static Pin ROL(){
				return DC10.getOut(6);
			}
			public static Pin ROLC(){
				return DC10.getOut(7);
			}
			public static Pin NOP(){
				return DC3.getOut(0);
			}
			public static Pin HALT(){
				return DC3.getOut(1);
			}
			public static Pin INTD(){
				return DC3.getOut(4);
			}
			public static Pin INTE(){
				return DC3.getOut(5);
			}
			public static Pin TRPD(){
				return DC3.getOut(6);
			}
			public static Pin TRPE(){
				return DC3.getOut(7);
			}

			public static Pin LDIVTP() {
				return DC8.getOut(0);
			}
			
			public static Pin STIVTP() {
				return DC8.getOut(1);
			}
			
			public static Pin LDIMR() {
				return DC8.getOut(2);
			}
			
			public static Pin STIMR() {
				return DC8.getOut(3);
			}
			
			public static Pin LDSP() {
				return DC8.getOut(4);
			}
			
			public static Pin STSP() {
				return DC8.getOut(5);
			}
			
			public static Pin BEQL() {
				return DC5.getOut(0);
			}
			
			public static Pin BNEQL() {
				return DC5.getOut(1);
			}
			
			public static Pin BNEG() {
				return DC5.getOut(2);
			}
			
			public static Pin BNNEG() {
				return DC5.getOut(3);
			}
			
			public static Pin BOVF() {
				return DC5.getOut(4);
			}
			
			public static Pin BNOVF() {
				return DC5.getOut(5);
			}
			
			public static Pin BCAR() {
				return DC5.getOut(6);
			}
			
			public static Pin BNCAR() {
				return DC5.getOut(7);
			}
			
			public static Pin BGRT() {
				return DC6.getOut(0);
			}
			
			public static Pin BGRTE() {
				return DC6.getOut(1);
			}
			
			public static Pin BLSS() {
				return DC6.getOut(2);
			}

			public static Pin BLSSE() {
				return DC6.getOut(3);
			}
			
			public static Pin BGRTU() {
				return DC6.getOut(4);
			}
			
			public static Pin BGRTEU() {
				return DC6.getOut(5);
			}

			public static Pin BLSSU() {
				return DC6.getOut(6);
			}

			public static Pin BLSSEU() {
				return DC6.getOut(7);
			}
			
			public static Pin regdir() {
				return DC11.getOut(0);
			}
			
			public static Pin regind() {
				return DC11.getOut(1);
			}
			
			public static Pin memdir() {
				return DC11.getOut(2);
			}
			
			public static Pin memind() {
				return DC11.getOut(3);
			}
			
			public static Pin regindpom() {
				return DC11.getOut(4);
			}
			
			public static Pin bxpom() {
				return DC11.getOut(5);
			}
			
			public static Pin pcpom() {
				return DC11.getOut(6);
			}
			
			public static Pin imm() {
				return DC11.getOut(7);
			}
			
			public static void main(String[] args){
				
				Fetch2.init();
				
				DC1.setE(new Pin(true));
				DC1.setInputPin(1, new Pin(false));
				DC1.setInputPin(0, new Pin(true));
				
				DC1.func();
				
				System.out.println(DC1.getOut(0).getBoolVal());
				System.out.println(DC1.getOut(1).getBoolVal());
				System.out.println(DC1.getOut(2).getBoolVal());
				System.out.println(DC1.getOut(3).getBoolVal());
				
			}

			
}
